home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / include / linux / ipmi_msgdefs.h < prev    next >
C/C++ Source or Header  |  2009-10-16  |  4KB  |  122 lines

  1. /*
  2.  * ipmi_smi.h
  3.  *
  4.  * MontaVista IPMI system management interface
  5.  *
  6.  * Author: MontaVista Software, Inc.
  7.  *         Corey Minyard <minyard@mvista.com>
  8.  *         source@mvista.com
  9.  *
  10.  * Copyright 2002 MontaVista Software Inc.
  11.  *
  12.  *  This program is free software; you can redistribute it and/or modify it
  13.  *  under the terms of the GNU General Public License as published by the
  14.  *  Free Software Foundation; either version 2 of the License, or (at your
  15.  *  option) any later version.
  16.  *
  17.  *
  18.  *  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
  19.  *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  20.  *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  21.  *  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
  22.  *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
  23.  *  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
  24.  *  OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  25.  *  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
  26.  *  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
  27.  *  USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  28.  *
  29.  *  You should have received a copy of the GNU General Public License along
  30.  *  with this program; if not, write to the Free Software Foundation, Inc.,
  31.  *  675 Mass Ave, Cambridge, MA 02139, USA.
  32.  */
  33.  
  34. #ifndef __LINUX_IPMI_MSGDEFS_H
  35. #define __LINUX_IPMI_MSGDEFS_H
  36.  
  37. /* Various definitions for IPMI messages used by almost everything in
  38.    the IPMI stack. */
  39.  
  40. /* NetFNs and commands used inside the IPMI stack. */
  41.  
  42. #define IPMI_NETFN_SENSOR_EVENT_REQUEST        0x04
  43. #define IPMI_NETFN_SENSOR_EVENT_RESPONSE    0x05
  44. #define IPMI_GET_EVENT_RECEIVER_CMD    0x01
  45.  
  46. #define IPMI_NETFN_APP_REQUEST            0x06
  47. #define IPMI_NETFN_APP_RESPONSE            0x07
  48. #define IPMI_GET_DEVICE_ID_CMD        0x01
  49. #define IPMI_COLD_RESET_CMD        0x02
  50. #define IPMI_WARM_RESET_CMD        0x03
  51. #define IPMI_CLEAR_MSG_FLAGS_CMD    0x30
  52. #define IPMI_GET_DEVICE_GUID_CMD    0x08
  53. #define IPMI_GET_MSG_FLAGS_CMD        0x31
  54. #define IPMI_SEND_MSG_CMD        0x34
  55. #define IPMI_GET_MSG_CMD        0x33
  56. #define IPMI_SET_BMC_GLOBAL_ENABLES_CMD    0x2e
  57. #define IPMI_GET_BMC_GLOBAL_ENABLES_CMD    0x2f
  58. #define IPMI_READ_EVENT_MSG_BUFFER_CMD    0x35
  59. #define IPMI_GET_CHANNEL_INFO_CMD    0x42
  60.  
  61. /* Bit for BMC global enables. */
  62. #define IPMI_BMC_RCV_MSG_INTR     0x01
  63. #define IPMI_BMC_EVT_MSG_INTR     0x02
  64. #define IPMI_BMC_EVT_MSG_BUFF     0x04
  65. #define IPMI_BMC_SYS_LOG          0x08
  66.  
  67. #define IPMI_NETFN_STORAGE_REQUEST        0x0a
  68. #define IPMI_NETFN_STORAGE_RESPONSE        0x0b
  69. #define IPMI_ADD_SEL_ENTRY_CMD        0x44
  70.  
  71. #define IPMI_NETFN_FIRMWARE_REQUEST        0x08
  72. #define IPMI_NETFN_FIRMWARE_RESPONSE        0x09
  73.  
  74. /* The default slave address */
  75. #define IPMI_BMC_SLAVE_ADDR    0x20
  76.  
  77. /* The BT interface on high-end HP systems supports up to 255 bytes in
  78.  * one transfer.  Its "virtual" BMC supports some commands that are longer
  79.  * than 128 bytes.  Use the full 256, plus NetFn/LUN, Cmd, cCode, plus
  80.  * some overhead; it's not worth the effort to dynamically size this based
  81.  * on the results of the "Get BT Capabilities" command. */
  82. #define IPMI_MAX_MSG_LENGTH    272    /* multiple of 16 */
  83.  
  84. #define IPMI_CC_NO_ERROR        0x00
  85. #define IPMI_NODE_BUSY_ERR        0xc0
  86. #define IPMI_INVALID_COMMAND_ERR    0xc1
  87. #define IPMI_TIMEOUT_ERR        0xc3
  88. #define IPMI_ERR_MSG_TRUNCATED        0xc6
  89. #define IPMI_REQ_LEN_INVALID_ERR    0xc7
  90. #define IPMI_REQ_LEN_EXCEEDED_ERR    0xc8
  91. #define IPMI_NOT_IN_MY_STATE_ERR    0xd5    /* IPMI 2.0 */
  92. #define IPMI_LOST_ARBITRATION_ERR    0x81
  93. #define IPMI_BUS_ERR            0x82
  94. #define IPMI_NAK_ON_WRITE_ERR        0x83
  95. #define IPMI_ERR_UNSPECIFIED        0xff
  96.  
  97. #define IPMI_CHANNEL_PROTOCOL_IPMB    1
  98. #define IPMI_CHANNEL_PROTOCOL_ICMB    2
  99. #define IPMI_CHANNEL_PROTOCOL_SMBUS    4
  100. #define IPMI_CHANNEL_PROTOCOL_KCS    5
  101. #define IPMI_CHANNEL_PROTOCOL_SMIC    6
  102. #define IPMI_CHANNEL_PROTOCOL_BT10    7
  103. #define IPMI_CHANNEL_PROTOCOL_BT15    8
  104. #define IPMI_CHANNEL_PROTOCOL_TMODE    9
  105.  
  106. #define IPMI_CHANNEL_MEDIUM_IPMB    1
  107. #define IPMI_CHANNEL_MEDIUM_ICMB10    2
  108. #define IPMI_CHANNEL_MEDIUM_ICMB09    3
  109. #define IPMI_CHANNEL_MEDIUM_8023LAN    4
  110. #define IPMI_CHANNEL_MEDIUM_ASYNC    5
  111. #define IPMI_CHANNEL_MEDIUM_OTHER_LAN    6
  112. #define IPMI_CHANNEL_MEDIUM_PCI_SMBUS    7
  113. #define IPMI_CHANNEL_MEDIUM_SMBUS1    8
  114. #define IPMI_CHANNEL_MEDIUM_SMBUS2    9
  115. #define IPMI_CHANNEL_MEDIUM_USB1    10
  116. #define IPMI_CHANNEL_MEDIUM_USB2    11
  117. #define IPMI_CHANNEL_MEDIUM_SYSINTF    12
  118. #define IPMI_CHANNEL_MEDIUM_OEM_MIN    0x60
  119. #define IPMI_CHANNEL_MEDIUM_OEM_MAX    0x7f
  120.  
  121. #endif /* __LINUX_IPMI_MSGDEFS_H */
  122.